import { reqDzList,reqHuizhu,reqHuzhu, reqMyZhuList } from "../../api/dz"
import { getStorage } from "../../utils/storage"
import { env } from "../../utils/env";
import { checkLogin, toast } from "../../utils/extendApi";
import { reqAddDzp } from "../../api/dz";

// pages/order/list/index.js
Page({
  // 页面的初始数据
  data: {
    orderList: [1, 2, 3],
    dzList: [], // 商品列表数据
    count: 0,
    isFinish: false, // 判断数据是否加载完毕
    isLoading: false, // 判断数据是否记载完毕
    // 接口请求参数
    requestData: {
      page: 1, // 页码
      limit: 10, // 每页请求多少条数据
    },
    imgBaseURL: env.imgBaseURL,
  },

  // 获取商品列表的数据
  async getDzList() {
    // 数据真正请求中
    this.data.isLoading = true
      // 调用 API 获取数据
    const { data } = await reqDzList(this.data.requestData)
    // 数据加载完毕
    this.data.isLoading = false
    // 停止下拉刷新动画
    wx.stopPullDownRefresh();
    // 将返回的数据赋值给 data 中的变量
    this.setData({
      dzList:  [...this.data.dzList, ...data.list_data],
      count: data?.count
    })
  },

  // 互助操作
  async getHuzhu(uid) {
    if (!checkLogin()) return
    // 数据真正请求中
    this.data.isLoading = true


      // 调用 API 获取数据
    const res = await reqHuzhu( { uid,z_uid:getStorage('userInfo').id } )
   
    console.log('getHuzhu',res);
  },


  saveImage: function(event) {
    const { index,uid } = event.currentTarget.dataset;
    this.getHuzhu(uid)

    reqHuzhu( { uid,z_uid:getStorage('userInfo').id } ).then((res) => {

      if(res.code === 200){
        const item = this.data.dzList[index];
      // 显示 loading
      wx.showLoading({
       title: '保存中...',
       mask: true, // 显示透明蒙层，防止触摸穿透
      });
     if (item.z_img) {
       wx.downloadFile({
         url: this.data.imgBaseURL + '/' + item.z_img,
         success: function(res) {
           if (res.statusCode === 200) {
             wx.saveImageToPhotosAlbum({
               filePath: res.tempFilePath,
               success: function() {
                  wx.hideLoading(); // 隐藏 loading
                  setTimeout( () => {
                    toast( {title:'复制成功 请去拼多多助力',icon:'none'} )
                  },100);

               },
               fail: function(err) {
                 wx.hideLoading(); // 隐藏 loading
                 console.error('保存图片失败:', err);
                 wx.showToast({
                   title: '图片保存失败',
                   icon: 'none',
                 
                 });
               }
             });
           }
         },
         fail: function(err) {
           wx.hideLoading(); // 隐藏 loading
           console.error('下载图片失败:', err);
           wx.showToast({
             title: '下载图片失败',
             icon: 'none',
             duration: 2000
           });
         }
       });
      } else {
        wx.hideLoading(); // 隐藏 loading
        wx.showToast({
          title: '无图片可保存',
          icon: 'none',
          duration: 2000
        });
      }
        
      }

      
    })

  },
  copyZCode: function(event) {
    const { index,uid } = event.currentTarget.dataset;
    // this.getHuzhu(uid)

    reqHuzhu( { uid,z_uid:getStorage('userInfo').id } ).then(res =>{
      if(res.code === 200){
        const zCode = this.data.dzList[index].z_code;
        wx.setClipboardData({
          data: zCode,
          success: function() {
            wx.hideLoading(); // 隐藏 loading
            setTimeout( () => {
              toast( { title:'复制成功 请去拼多多助力',icon:'none' } )
            },100);
          },
          fail: function(err) {
            console.error('复制 z_code 失败:', err);
            wx.showToast({
              title: '复制失败',
              icon: 'none'
            });
          }
        });
      }
    })
  
  },

  // 监听页面的下拉刷新
  onPullDownRefresh() {
    this.resetList()
  },

  // 监听页面的下拉刷新
  resetList() {
    // 将数据进行重置
    this.setData({
      dzList: [],
      count: 0,
      isFinish: false,
      requestData: { ...this.data.requestData, page: 1 }
    })
    // 重新获取列表数据
    this.getDzList()
  },


   // 处理按钮点击事件
   handleButtonClick() {
    this.showDialog()
  },


  // 显示对话框
  showDialog() {
    this.selectComponent('#formDialog').show();
  },

  // 隐藏对话框
  hideDialog() {
    this.selectComponent('#formDialog').hide();
    
  },

  // 确认提交
  async onConfirm(event) {
    if (!checkLogin()) return
    const { s_code, z_img, remark } = event.detail;

    let new_z_img = '';
    if (z_img?.[0]?.url) {
      new_z_img = z_img?.[0]?.url.replace(`${env.imgBaseURL}/`, '');
    }
    const res = await reqAddDzp({ s_code, z_img: new_z_img, remark,uid:getStorage('userInfo').id });

    // 提交成功后隐藏对话框
    this.hideDialog();
    this.resetList()
  },

  // 取消
  onCancel() {
    this.hideDialog();
  },




  // 监听页面的上拉操作
  onReachBottom() {
    // 判断是否加载完毕，如果 isLoading 等于 true
    // 说明数据还没有加载完毕，不加载下一页数据
    if (this.data.isLoading) return
    const { count, dzList, requestData } = this.data
    let { page } = this.data.requestData

      // 判断数据是否加载完毕
    if (count === dzList.length) {
       // 如果相等，数据数据加载完毕
       // 如果数据加载完毕，需要给用户提示，同时不继续加载下一个数据
       this.setData({
         isFinish: true
       })
       return
     }
    // 页码 + 1
    this.setData({
      requestData: { ...this.data.requestData, page: page + 1 }
    })
    // 重新发送请求
    this.getDzList()
  },

     // 生命周期函数--监听页面加载
  onLoad(options) {
    // 从缓存中获取 userInfo
    const userInfo = wx.getStorageSync('userInfo');
    userInfo?.id&&reqMyZhuList(
        {
          page: 1, // 页码
          limit: 10, // 每页请求多少条数据
          uid: userInfo.id
        }).then((res) =>{
          console.log('reqMyZhuList',res);
          if(!res.data?.count){
            this.showDialog()
          }
        })



    // 获取商品列表的数据
    this.getDzList()
  }
 
})


